package appconfig

import (
	"fmt"

	"github.com/spf13/viper"
)

type Mysql struct {
	User     string
	Password string
	Port     int
	Host     string
	Database string
}
type Redis struct {
	Password string
	Port     int
	Host     string
	Database int
}

type Upload struct {
	AccessKey string
	SecretKey string
	Bucket    string
	Url       string
}

type AppConfig struct {
	Mysql  Mysql
	Redis  Redis
	Upload Upload
}

var ConfigData AppConfig

func Init() {
	//当前目录 ./   .
	//上一级 ../     ..
	//
	//获取到我的配置文件
	viper.SetConfigFile("../appconfig/config.yaml")
	//读取配置文件
	err := viper.ReadInConfig()
	if err != nil {
		panic("配置读取失败")
	}
	//解析配置文件
	err = viper.Unmarshal(&ConfigData)
	if err != nil {
		panic("解析配置失败")
	}
	fmt.Println(ConfigData)
}
